/**
 * 
 */
package com.holystone.orca.sys.service;

import java.util.List;
import java.util.Map;

import com.holystone.orca.base.service.IBaseService;
import com.holystone.orca.common.PageData;
import com.holystone.orca.sys.mybatis.model.SysRole;
import com.holystone.orca.sys.mybatis.model.SysStaff;


public interface ISysRoleService extends IBaseService<SysRole>{

	/**
	 * 获取所有角色信息
	 * @return
	 */
	public List<SysRole> getRoleList();
	
	public int getStaffRoleByPersonId(Map<String, String> map);
	
	/**
	 * 分页，初始化角色页面，根据角色名查询
	 * @param iPageNo
	 * @param iPageSize
	 * @param orderField
	 * @param roleName
	 * @return
	 * @throws Exception
	 */
	public PageData pagingSysRole(int iPageNo, int iPageSize, String orderField, String roleName) throws Exception;
	
	/**
	 * 添加角色信息
	 * @param sysRole
	 * @return
	 */
	public boolean insertRole(SysRole sysRole);
	
	/**
	 * 根据roleId查询出角色信息
	 * @param roleId
	 * @return
	 */
	public SysRole selectRoleByRoleId(int roleId);
	
	/**
	 * 修改角色信息
	 * @param sysRole
	 * @return
	 */
	public boolean updateRoleByRoleId(SysRole sysRole);
	
	/**
	 * 删除单个角色信息
	 * @param roleId
	 * @return
	 */
	public boolean delRoleByRoleId(int roleId);
	
	/**
	 * 多项删除
	 * @param list
	 * @return
	 * @throws Exception
	 */
	public boolean delSelectRole(List<Integer> list) throws Exception;
	
	/**\
	 * 该方法用于添加角色信息时，检测是否有名字重复的角色，有重复的则返回数据
	 * @return
	 */
	public List<SysRole> selectRole(Map<Object, String> map) throws Exception;
}
